1. Field of the Invention
The present invention relates generally to information management, and particularly, to computerized search technology based on boolean search criteria. A computer system and method for performing rapid and multi-dimensional word searches upon specification of a search space and specification of a search query are disclosed.
2. Description of the Prior Art
Developments in electronic digital computers over the past thirty years have furthered the accessibility of information in previously unknown ways. Recently, this information explosion has included the proliferation of personal computers, the linking of computers through networks, exponential improvements in the propagation of electronic data, and related events. As the amount and availability of information increases, management and retrieval of that information becomes an important and complex problem.
Computer searching involves the searching of a search space, a group of objects stored in electronic form, for particular target data. Many prior art computer searching systems identify target data in the form of boolean search queries. In such a query, words and attributes are combined in a linear order to describe the conditions imposed on the search. For example, a user may execute a search to find all documents in which the terms "black cat" and "white mouse" both appear. The animal references are both "words" to find in the search, and the document restriction and the conjunctive condition are both "attributes" or conditions imposed on the search.
Because most computer systems are arranged with hierarchies of files and folders, objects to search are often files. Other types of searches, though, are also common. For example, word processing software often allows a user to find certain text within a particular document. The main restriction is that the search space is greater than or equal in size to found data items. Beyond this restriction, though, computer searching accommodates multiple scales.
In general, users of computer searching systems engage in two types of searches, research searches and specific searches. In research searches, the user lacks knowledge about the expected result of the search but wants to scan all possibly relevant objects in a database to acquire knowledge about a certain topic. To an extent, these types of searches benefit from broad search criteria that try to find as many relevant objects as possible. By contrast, in specific searches, the user has prior knowledge of the desired search results but does not know where the particular objects are located. The user seeks to find the objects without excessive human intervention. These searches typically utilize the most narrowing criteria that a search system supports.
As the base of electronically-stored information grows, two related problems arise in computer searching technology. First, there is the problem of search specificity. As the amount of electronically-stored information grows and more files mentioning a certain topic exist, objects that are not the desired target of searches must be distinguished from objects which are. To address this problem, well-focused search criteria are needed. Although prior art systems of boolean searching allow for some specificity in acceptable search queries, support of more operators and allowance of finer selection criteria are desirable. Yet, as the number of permissible combinations of overlapping attributes increases, the complexity of the computer code required to execute such searches grows at an explosive rate. This complexity has prevented previous attempts at multi-dimensional searches.
Other prior art methods of computer searching technology also fail to answer the need for narrower search criteria. Fuzzy logic searching is one alternative to boolean searching. In fuzzy logic, each object is assigned a weight, and objects are retrieved according to their weight with respect to a search query, where the query usually consists of a linear ordering of key words or a sentence from which key words are extracted. Fuzzy logic, however, encourages multiple hits (i.e., found objects) in a search results list and fails to make the fine textual distinctions that are only available through complex attribute searching. The result is that the user still makes manual determinations of which hits are relevant to the search query.
Accordingly, the present invention is directed to solving this problem by disclosing a means allowing a rich syntax of attributes as well as complex (multi-dimensional) combinations of attributes. The search method disclosed allows for rapid, multi-dimensional searches, supporting simultaneous combinations of different attributes. This method greatly advances the art of computer searching with respect to specific searches by allowing greater particularity in search specificity. Also, by allowing multiple attributes, the capabilities of research-type search systems are expanded.
A second problem in computerized search technology is speed. As the quantity of information available through electronic means increases, the time required to search the information also increases. To improve search speed, data indexes are used to catalogue information about a search space in a coherent manner allowing for efficient access and retrieval. By collecting information related to a particular search space in an annotated form such as an index, a search is more quickly executed.
However, searches using an index are limited by the very thing that gives them speed, the index. Because an index is statically created, it cannot support dynamic searching for words or attributes not included in the index. Quite often, index data lacks the detail required to resolve a particular search. When such a condition arises, prior art methods of computerized search technology use index data only or use object data only and ignore the other form of data. This technique of using either index data or object data is inefficient, though, as index data may have sufficient detail to resolve most, but not all of the conditions imposed by a particular search query.
Accordingly, the present invention is directed to solving this problem by disclosing a means for scanning complex combinations of object data and index data where index data alone is insufficient to resolve the search query. By allowing intelligent index use, the present invention improves the efficiency of both research searches and specific searches, greatly advancing the art.